Techniques for workforce management in a contact center system

ABSTRACT

Techniques for workforce management in a contact center system are disclosed. In one particular embodiment, the techniques may be realized as a method comprising determining a contact waiting for connection in a contact center system; determining a plurality of agents comprising a first set of one or more agents available for connection and a second set of one or more agents not available for connection; comparing the contact to at least a first agent of the first set of agents; postponing pairing the contact based on the comparing; after the postponing, determining a second agent of the second set of agents becomes available for connection; selecting the second agent for connection to the contact; and connecting the contact to the second agent.

FIELD OF THE DISCLOSURE

This disclosure generally relates to pairing contacts and agents incontact centers and, more particularly, to techniques for workforcemanagement in a contact center system.

BACKGROUND OF THE DISCLOSURE

A typical contact center algorithmically assigns contacts arriving atthe contact center to agents available to handle those contacts. Attimes, the contact center may have agents available and waiting forassignment to inbound or outbound contacts (e.g., telephone calls,Internet chat sessions, email). At other times, the contact center mayhave contacts waiting in one or more queues for an agent to becomeavailable for assignment.

In some typical contact centers, contacts are assigned to agents basedon time of arrival, and agents receive contacts based on the time whenthose agents became available. This strategy may be referred to as a“first-in, first-out,” “FIFO,” or “round-robin” strategy. In othertypical contact centers, other strategies may be used, such as“performance-based routing,” or a “PBR,” strategy.

Typical contact centers preferentially minimize overall agent idle timeand overall contact waiting time. To that end, if contacts are waitingin a queue, a contact will be assigned to an agent soon after an agentbecomes available for assignment. Similarly, if agents are idle, waitingfor contacts to arrive, an agent will be assigned to a contact soonafter a contact becomes available for assignment.

However, if a contact center uses a pairing strategy that is designed tochoose among multiple possible pairings, it may be inefficient to choosethe first available pairing for the sake of minimizing contact hold timeor agent idle time.

In view of the foregoing, it may be understood that there may be a needfor a system that enables improving the amount of choice available toimprove the efficiency and performance of pairing strategies that aredesigned to choose among multiple possible pairings.

SUMMARY OF THE DISCLOSURE

Techniques for workforce management in a contact center system aredisclosed. In one particular embodiment, the techniques may be realizedas a method includes determining a contact waiting for connection in acontact center system. The process also includes determining a pluralityof agents comprising a first set of one or more agents available forconnection and a second set of one or more agents not available forconnection, and comparing the contact to at least a first agent of thefirst set of agents. The method further comprises postponing pairing thecontact based on the comparing, after the postponing, determining asecond agent of the second set of agents becomes available forconnection selecting the second agent for connection to the contact, andconnecting the contact to the second agent.

In some embodiments, the second agent has a same or lower priority thanany agent of the set of agents.

In some embodiments, the method further comprises comparing the contactto the second agent. The selecting is based on comparing the contact tothe second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a difference between the contact percentileranking and the first agent percentile ranking.

In some embodiments, the method further comprises identifying athreshold number of agents in the second set of agents. The postponingis further based on a threshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a system that includes memory andprocessing circuitry coupled to the memory. The system is configured toperform a process including determining a contact waiting for connectionin a contact center system. The process also includes determining aplurality of agents comprising a first set of one or more agentsavailable for connection and a second set of one or more agents notavailable for connection, and comparing the contact to at least a firstagent of the first set of agents. The process also includes postponingpairing the contact based on the comparing, after the postponing,determining a second agent of the second set of agents becomes availablefor connection, selecting the second agent for connection to thecontact, and connecting the contact to the second agent.

In some embodiments, the second agent has a same or lower priority thanany agent of the set of agents.

In some embodiments, the process further comprises comparing the contactto the second agent, and the selecting is based on comparing the contactto the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a difference between the contact percentileranking and the first agent percentile ranking.

In some embodiments, the process further comprises identifying athreshold number of agents in the second set of agents, and thepostponing is further based on a threshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a computer program productcomprising a non-transitory computer readable medium storinginstructions which when executed by processing circuitry of a systemcauses the system to perform a process that includes determining acontact waiting for connection in a contact center system. The processfurther includes determining a plurality of agents comprising a firstset of one or more agents available for connection and a second set ofone or more agents not available for connection, comparing the contactto at least a first agent of the first set of agents, and postponingpairing the contact based on the comparing. The process also includesafter the postponing, determining a second agent of the second set ofagents becomes available for connection, selecting the second agent forconnection to the contact, and connecting the contact to the secondagent.

In some embodiments, the second agent has a same or lower priority thanany agent of the set of agents.

In some embodiments, the process further comprises comparing the contactto the second agent, and the selecting is based on comparing the contactto the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a difference between the contact percentileranking and the first agent percentile ranking.

In some embodiments, the process further comprises identifying athreshold number of agents in the second set of agents, and thepostponing is further based on a threshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a method comprising determining aset of one or more contacts waiting for connection in a contact centersystem. The method also includes determining an agent available forconnection to the contact, comparing the agent to at least one contactof the set of contacts, and postponing pairing the agent based on thecomparing. The method also includes after the postponing, determining asecond contact becomes available, selecting the second contact forconnection to the agent, and connecting the second contact to the agent.The second contact was not a member of the set of contacts.

In some embodiments, the second contact has a same or lower prioritythan any contact of the set of contacts.

In some embodiments, the method further comprises comparing the contactto the second agent. The selecting is based on comparing the contact tothe second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a difference between the contact percentileranking and the first agent percentile ranking.

In some embodiments, the method further comprises identifying athreshold number of agents in the second set of agents. The postponingis further based on a threshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a system comprising memory andprocessing circuitry coupled to the memory. The system is configured toperform a process comprising determining a set of one or more contactswaiting for connection in a contact center system, determining an agentavailable for connection to the contact, comparing the agent to at leastone contact of the set of contacts, and postponing pairing the agentbased on the comparing. The process also includes after the postponing,determining a second contact becomes available, selecting the secondcontact for connection to the agent, and connecting the second contactto the agent. The second contact was not a member of the set ofcontacts.

In some embodiments, the second contact has a same or lower prioritythan any contact of the set of contacts.

In some embodiments, the process further comprises comparing the contactto the second agent, and the selecting is based on comparing the contactto the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a difference between the contact percentileranking and the first agent percentile ranking.

In some embodiments, the process further comprises identifying athreshold number of agents in the second set of agents, and thepostponing is further based on a threshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a computer program productcomprising a non-transitory computer readable medium storinginstructions which when executed by processing circuitry of a systemcauses the system to perform a process that comprises determining a setof one or more contacts waiting for connection in a contact centersystem. The process also comprises determining an agent available forconnection to the contact, comparing the agent to at least one contactof the set of contacts, postponing pairing the agent based on thecomparing, and after the postponing, determining a second contactbecomes available. The process also includes selecting the secondcontact for connection to the agent and connecting the second contact tothe agent. The second contact was not a member of the set of contacts.

In some embodiments, the second contact has a same or lower prioritythan any contact of the set of contacts.

In some embodiments, the process further comprises comparing the contactto the second agent, and the selecting is based on comparing the contactto the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a difference between the contact percentileranking and the first agent percentile ranking.

In some embodiments, the process further comprises identifying athreshold number of agents in the second set of agents, and thepostponing is further based on a threshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a method comprising determining afirst contact waiting for connection in a contact center system,determining a plurality of agents available for connection, andcomparing the contact to at least a first agent and a second agent ofthe plurality of agents. The method also comprises postponing pairingthe first contact based on the comparing, after the postponing,determining a second contact becomes available for connection, selectingthe second agent for connection to the second contact; and connectingthe second contact to the second agent.

In some embodiments, the second agent has a same or lower priority thanany agent of the plurality of agents.

In some embodiments, the method further comprises comparing the secondcontact to the second agent. The selecting is based on comparing thesecond contact to the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a percentile ranking for the second agent.

In some embodiments, the method further comprises identifying athreshold number of contacts. The postponing is further based on athreshold number of contacts.

In some embodiments, the threshold number of contacts is based on thecomparing.

In another aspect there is provided a system comprising memory andprocessing circuitry coupled to the memory. The system is configured toperform a process comprising determining a first contact waiting forconnection in a contact center system, determining a plurality of agentsavailable for connection, comparing the contact to at least a firstagent and a second agent of the plurality of agents, and postponingpairing the first contact based on the comparing. The process furthercomprises after the postponing, determining a second contact becomesavailable for connection, selecting the second agent for connection tothe second contact, and connecting the second contact to the secondagent.

In some embodiments, the second agent has a same or lower priority thanany agent of the plurality of agents.

In some embodiments, the process further comprises comparing the secondcontact to the second agent, and the selecting is based on comparing thesecond contact to the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a percentile ranking for the second agent.

In some embodiments, the process further comprises identifying athreshold number of contacts, and the postponing is further based on athreshold number of contacts.

In some embodiments, the threshold number of contacts is based on thecomparing.

In another aspect there is provided a computer program productcomprising a non-transitory computer readable medium storinginstructions which when executed by processing circuitry of a systemcauses the system to perform a process that comprises determining afirst contact waiting for connection in a contact center system. Theprocess further comprises determining a plurality of agents availablefor connection, comparing the contact to at least a first agent and asecond agent of the plurality of agents, and postponing pairing thefirst contact based on the comparing. The process further comprisesafter the postponing, determining a second contact becomes available forconnection, selecting the second agent for connection to the secondcontact, and connecting the second contact to the second agent.

In some embodiments, the second agent has a same or lower priority thanany agent of the plurality of agents.

In some embodiments, the process further comprises comparing the secondcontact to the second agent, and the selecting is based on comparing thesecond contact to the second agent.

In some embodiments, the comparing comprises determining a percentileranking for the contact, determining a percentile ranking for the firstagent, and determining a percentile ranking for the second agent.

In some embodiments, the process further comprises identifying athreshold number of contacts, and the postponing is further based on athreshold number of contacts.

In some embodiments, the threshold number of contacts is based on thecomparing.

In another aspect there is provided a method comprising determining aplurality of contacts waiting for connection in a contact center systemand determining a first agent available for connection. The methodfurther comprises comparing the first agent to at least a first contactand a second contact of the plurality of contacts, postponing pairingthe first agent based on the comparing, after the postponing,determining a second agent becomes available for connection, selectingthe second agent for connection to the second contact, and connectingthe second contact to the second agent.

In some embodiments, the second contact has a same or lower prioritythan any contact of the plurality of contacts.

In some embodiments, the method further comprises comparing the secondagent to the second contact. The selecting is based on comparing thesecond agent to the second contact.

In some embodiments, the comparing comprises determining a percentileranking for the agent, determining a percentile ranking for the firstcontact, and determining a percentile ranking for the second contact.

In some embodiments, the method further comprises identifying athreshold number of agents. The postponing is further based on athreshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a system comprising memory andprocessing circuitry coupled to the memory. The system is configured toperform a process that comprises determining a plurality of contactswaiting for connection in a contact center system and determining afirst agent available for connection. The process further comprisescomparing the first agent to at least a first contact and a secondcontact of the plurality of contacts, postponing pairing the first agentbased on the comparing, after the postponing, determining a second agentbecomes available for connection, selecting the second agent forconnection to the second contact, and connecting the second contact tothe second agent.

In some embodiments, the second contact has a same or lower prioritythan any contact of the plurality of contacts.

In some embodiments, the process further comprises comparing the secondagent to the second contact, and the selecting is based on comparing thesecond agent to the second contact.

In some embodiments, the comparing comprises determining a percentileranking for the agent, determining a percentile ranking for the firstcontact, and determining a percentile ranking for the second contact.

In some embodiments, the process further comprises identifying athreshold number of agents, and the postponing is further based on athreshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

In another aspect there is provided a computer program productcomprising a non-transitory computer readable medium storinginstructions which when executed by processing circuitry of a systemcauses the system to perform a process that comprises determining aplurality of contacts waiting for connection in a contact center systemand determining a first agent available for connection. The process alsocomprises comparing the first agent to at least a first contact and asecond contact of the plurality of contacts, postponing pairing thefirst agent based on the comparing, and after the postponing,determining a second agent becomes available for connection. The processalso comprises selecting the second agent for connection to the secondcontact and connecting the second contact to the second agent.

In some embodiments, the second contact has a same or lower prioritythan any contact of the plurality of contacts.

In some embodiments, the process further comprises comparing the secondagent to the second contact, and the selecting is based on comparing thesecond agent to the second contact.

In some embodiments, the comparing comprises determining a percentileranking for the agent, determining a percentile ranking for the firstcontact, and determining a percentile ranking for the second contact.

In some embodiments, the process further comprises identifying athreshold number of agents, and the postponing is further based on athreshold number of agents.

In some embodiments, the threshold number of agents is based on thecomparing.

The present disclosure will now be described in more detail withreference to particular embodiments thereof as shown in the accompanyingdrawings. While the present disclosure is described below with referenceto particular embodiments, it should be understood that the presentdisclosure is not limited thereto. Those of ordinary skill in the arthaving access to the teachings herein will recognize additionalimplementations, modifications, and embodiments, as well as other fieldsof use, which are within the scope of the present disclosure asdescribed herein, and with respect to which the present disclosure maybe of significant utility.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a fuller understanding of the present disclosure,reference is now made to the accompanying drawings, in which likeelements are referenced with like numerals. These drawings should not beconstrued as limiting the present disclosure, but are intended to beillustrative only.

FIG. 1 shows a block diagram of a contact center according toembodiments of the present disclosure.

FIG. 2 depicts a schematic representation of a contact center systemtimeline according to embodiments of the present disclosure.

FIG. 3 depicts a schematic representation of a choice-based pairingstrategy according to embodiments of the present disclosure.

FIG. 4 shows a flow diagram of an L3 pairing method according toembodiments of the present disclosure.

FIG. 5 shows a flow diagram of an L3 pairing method according toembodiments of the present disclosure.

FIG. 6 shows a flow diagram of an L3 pairing method according toembodiments of the present disclosure.

DETAILED DESCRIPTION

One example of a pairing strategy that is designed to choose amongmultiple possible pairings is a “behavioral pairing” or “BP” strategy,under which contacts and agents may be deliberately (preferentially)paired in a fashion that enables the assignment of subsequentcontact-agent pairs such that when the benefits of all the assignmentsunder a BP strategy are totaled they may exceed those of FIFO and otherstrategies such as performance-based routing (“PBR”) strategies. BP isdesigned to encourage balanced utilization of agents within a skillqueue while nevertheless simultaneously improving overall contact centerperformance beyond what FIFO or PBR methods will allow. This is aremarkable achievement inasmuch as BP acts on the same calls and sameagents as FIFO and PBR methods, utilizes agents approximately evenly asFIFO provides, and yet improves overall contact center performance. BPis described in, e.g., U.S. Pat. No. 9,300,802, which is incorporated byreference herein. Additional information about these and other featuresregarding pairing or matching modules using BP strategies (sometimesalso referred to as “satisfaction mapping,” “SATMAP,” “routing system,”“routing engine,” etc.) is described in, for example, U.S. Pat. No.8,879,715, which is incorporated herein by reference.

In some embodiments, a contact center may switch (or “cycle”)periodically among at least two different pairing strategies (e.g.,between FIFO and an L3 pairing strategy). Additionally, the outcome ofeach contact-agent interaction may be recorded along with anidentification of which pairing strategy (e.g., FIFO, or BP enabled withL3) had been used to assign that particular contact-agent pair. Bytracking which interactions produced which results, the contact centermay measure the performance attributable to a first strategy (e.g.,FIFO) and the performance attributable to a second strategy (e.g., BPwith L3). In this way, the relative performance of one strategy may bebenchmarked against the other. The contact center may, over many periodsof switching between different pairing strategies, more reliablyattribute performance gain to one strategy or the other. Benchmarkingpairing strategies is described in, e.g., U.S. patent application Ser.No. 15/131,915, filed Apr. 18, 2016, which is incorporated herein byreference.

FIG. 1 shows a block diagram of a contact center system 100 according toembodiments of the present disclosure. The description herein describesnetwork elements, computers, and/or components of a system and methodfor simulating contact center systems that may include one or moremodules. As used herein, the term “module” may be understood to refer tocomputing software, firmware, hardware, and/or various combinationsthereof. Modules, however, are not to be interpreted as software whichis not implemented on hardware, firmware, or recorded on a processorreadable recordable storage medium (i.e., modules are not software perse). It is noted that the modules are exemplary. The modules may becombined, integrated, separated, and/or duplicated to support variousapplications. Also, a function described herein as being performed at aparticular module may be performed at one or more other modules and/orby one or more other devices instead of or in addition to the functionperformed at the particular module. Further, the modules may beimplemented across multiple devices and/or other components local orremote to one another. Additionally, the modules may be moved from onedevice and added to another device, and/or may be included in bothdevices.

As shown in FIG. 1, the contact center system 100 may include a centralswitch 110. The central switch 110 may receive incoming contacts (e.g.,callers) or support outbound connections to contacts via atelecommunications network (not shown). The central switch 110 mayinclude contact routing hardware and software for helping to routecontacts among one or more contact centers, or to one or more PBX/ACDsor other queuing or switching components, including otherInternet-based, cloud-based, or otherwise networked contact-agenthardware or software-based contact center solutions.

The central switch 110 may not be necessary such as if there is only onecontact center, or if there is only one PBX/ACD routing component, inthe contact center system 100. If more than one contact center is partof the contact center system 100, each contact center may include atleast one contact center switch (e.g., contact center switches 120A and120B). The contact center switches 120A and 120B may be communicativelycoupled to the central switch 110. In embodiments, various topologies ofrouting and network components may be configured to implement thecontact center system.

Each contact center switch for each contact center may becommunicatively coupled to a plurality (or “pool”) of agents. Eachcontact center switch may support a certain number of agents (or“seats”) to be logged in at one time. At any given time, a logged-inagent may be available and waiting to be connected to a contact, or thelogged-in agent may be unavailable for any of a number of reasons, suchas being connected to another contact, performing certain post-callfunctions such as logging information about the call, or taking a break.

In the example of FIG. 1, the central switch 110 routes contacts to oneof two contact centers via contact center switch 120A and contact centerswitch 120B, respectively. Each of the contact center switches 120A and120B are shown with two agents each. Agents 130A and 130B may be loggedinto contact center switch 120A, and agents 130C and 130D may be loggedinto contact center switch 120B.

The contact center system 100 may also be communicatively coupled to anintegrated service from, for example, a third party vendor. In theexample of FIG. 1, L3 pairing module 140 may be communicatively coupledto one or more switches in the switch system of the contact centersystem 100, such as central switch 110, contact center switch 120A, orcontact center switch 120B. In some embodiments, switches of the contactcenter system 100 may be communicatively coupled to multiple L3 pairingmodules. In some embodiments, L3 pairing module 140 may be embeddedwithin a component of a contact center system (e.g., embedded in orotherwise integrated with a switch). The L3 pairing module 140 mayreceive information from a switch (e.g., contact center switch 120A)about agents logged into the switch (e.g., agents 130A and 130B) andabout incoming contacts via another switch (e.g., central switch 110)or, in some embodiments, from a network (e.g., the Internet or atelecommunications network) (not shown).

A contact center may include multiple pairing modules (e.g., a BP moduleand a FIFO module) (not shown), and one or more pairing modules may beprovided by one or more different vendors. In some embodiments, one ormore pairing modules may be components of L3 pairing module 140 or oneor more switches such as central switch 110 or contact center switches120A and 120B. In some embodiments, an L3 pairing module may determinewhich pairing module may handle pairing for a particular contact. Forexample, the L3 pairing module may alternate between enabling pairingvia the BP module and enabling pairing with the FIFO module. In otherembodiments, one pairing module (e.g., the BP module) may be configuredto emulate other pairing strategies. For example, an L3 pairing module,or an L3 pairing component integrated with BP components in the BPmodule, may determine whether the BP module may use BP pairing oremulated FIFO pairing for a particular contact. In this case, “BP on”may refer to times when the BP module is applying the BP pairingstrategy, and “BP off” may refer to other times when the BP module isapplying a different pairing strategy (e.g., FIFO).

In some embodiments, regardless of whether pairing strategies arehandled by separate modules, or if some pairing strategies are emulatedwithin a single pairing module, the single pairing module may beconfigured to monitor and store information about pairings made underany or all pairing strategies. For example, a BP module may observe andrecord data about FIFO pairings made by a FIFO module, or the BP modulemay observe and record data about emulated FIFO pairings made by a BPmodule operating in FIFO emulation mode.

FIG. 2 depicts a schematic representation of a contact center systemtimeline according to embodiments of the present disclosure. In a givenperiod of time (e.g., over several minutes, several hours, a day), thenumber of agents free or available to connect to contacts, or the numberof contacts waiting in queue, will vary continuously as contacts arriveand depart the contact center system. The example of FIG. 2 depicts thecapacity of a contact center system over a period of time along thex-axis from time “0” to time “50” (e.g., 0 minutes to 50 minutes). They-axis depicts the number of free agents or the number of contacts inqueue above and below the x-axis, respectively.

At time 0 (e.g., when the contact center first opens at the beginning ofthe day), there are 10 agents available and waiting for contacts toarrive. Periods of time when a contact center has a surplus of availableagents are referred to as “L1” environments. If a choice-based pairingstrategy such as BP is used, the choice-based pairing strategy maychoose from among any (or a subset) of the available agents when acontact arrives.

As contacts arrive, and agents become occupied while communicating withthose contacts, the number of available agents may decrease, as shown inFIG. 2 from time 0 to approximately time 5. The contact center isoperating in an L1 environment for this entire duration, but the choiceavailable to BP or another choice-based pairing strategy becomesincreasingly limited—instead of having as many as ten (or more) agentsavailable to choose among, by about time 5 there are only two or threeagents to choose among.

At other periods of time, there may be a shortage of agents, andcontacts begin to queue, waiting for agents to become available forconnection, as shown in FIG. 2 from about time 7 to about time 21.Periods of time when a contact center has a shortage of available agentsare referred to as “L2” environments. If a choice-based pairing strategysuch as BP is used, the choice-based pairing strategy may choose fromamong any (or a subset) of the waiting contacts when an agent becomesavailable.

As agents become available to connect with contacts waiting in thequeue, the size of the queue may decrease, as shown in FIG. 2 fromapproximately time 14 to about time 21. The contact center is operatingin an L2 environment for this entire duration, but the choice availableto BP or another choice-based pairing strategy becomes increasinglylimited—instead of having as many as ten (or more) contacts available tochoose among at about time 14, by about time 21 there are only two orthree contacts in queue to choose among.

At some points in time, a contact center will transition from an L1state to an L2 state (e.g., point 210A at about time 6 and point 210C atabout time 40) or vice versa, from an L2 state to an L1 state (e.g.,point 210B at about time 23). These crossover points along the x-axis(labeled the “1:1” line) occur when no choice is available to BP oranother choice-based pairing strategy. For example, there may be asingle contact waiting in queue, which may be paired with whicheveragent happens to become free next. Or there may be a single agentwaiting idle, which may be paired with whichever contact happens toarrive at the contact center next.

In some situations (not shown), a contact center may reach the “1:1”line and then bounce back up into L1 (or bounce back down into L2). NoL1-to-L2 or L2-to-L1 transition occurs, but there is still a time atwhich no choice is available to BP.

In some situations (not shown), a contact center may remain along the“1:1” line for an extended period of time. In fact, a typical contactcenter may consider this line to indicate when the contact center isoperating at a “perfect” capacity, with neither a surplus nor a shortageof agents for the given level of demand (e.g., number, frequency, andduration of contacts arriving at the contact center). In thesesituations, a BP pairing strategy could go for an extended period oftime with no choices available other than the “1 agent:1 contact”default choice.

These points in time (or periods of time) when the contact center isoperating along the “1:1” line, when a contact center has neither asurplus nor a shortage of available agents, are referred to as “L0”environments.

FIG. 3 depicts a schematic representation of a choice-based pairingstrategy according to embodiments of the present disclosure. When choiceis limited, choice-based pairing strategies may suffer from suboptimalperformance. FIG. 3 shows an example of a performance estimate orperformance simulation of a choice-based pairing strategy. When thereare many contacts in queue (“calls in queue” as in FIG. 3) (e.g., atpoint 320), or when there are many agents free (e.g., at point 330), BPor another choice-based pairing strategy may perform optimally (e.g., ator near “100%” instant performance or efficiency).

However, as the number of contacts in queue or free agents dwindle,there are fewer choices available to BP, and the performance orefficiency of BP could drop. In an L0 environment (e.g., at point 310),the instant performance or efficiency of BP is considered to be 0%,insofar as BP (without L3 pairing) is incapable of making a choicedifferent from the pairing that any other non-L3 pairing strategy couldmake. In other words, if there is only one contact waiting for an agent,and only one agent waiting a contact, both FIFO and BP will pair thatone contact with that one agent, with no other choice to make. As choiceincreases, either as contacts fill a queue in an L2 environment, or moreagents become available in an L1 environment, performance steadilyincreases toward optimal instant performance.

In the example of FIG. 3, 50 calls in queue and 50 agents free are thepoints 320 and 330 at which this pairing strategy is expected to reachpeak performance. However, in other embodiments or real-world contactcenter systems, peak performance may be reached at varying levels ofagent shortage or surplus (e.g., greater than 3 choices available,greater than 7 choices available, greater than 20 choices available,etc.).

In situations such as L0 environments in which the choice available toBP is too limited, it may be advantageous to delay or otherwise postponeconnecting an agent to a contact. Introducing a delay could allow timefor another agent or another contact to become available. If a contactcenter is operating in L0, and another agent arrives, the contact centerwill enter an L1 environment with two agents to choose between insteadof being forced into the default selection. Similarly, if a contactcenter is operating in L0, and another agent arrives, the contact centerwill enter an L2 environment with two contacts to choose between insteadof being forced into the default selection.

In some embodiments, it may be desirable to delay even if the contactcenter already has some choice (e.g., already operating in L1 or L2),but the choice is limited. For example, if only ten contacts are waitingin queue when an agent becomes available, the pairing strategy of FIG. 3is expected to have an instant performance of only 60%. It may bedesirable to delay until closer to twenty contacts are waiting, at whichpoint the expected instant performance would be closer to 80%.

When a delay is permitted, it is possible to enter a hybrid environmentthat is neither pure L1 nor pure L2. For example, consider a contactcenter in which there are two contacts in queue, and only one agent isavailable. Following a delay, a second agent could become available,resulting in an environment in which there are multiple contacts inqueue and multiple agents available for connection. Periods of time whena contact center has multiple contacts in queue and multiple free agentsare referred to as “L3” environments. In the present disclosure, an L3pairing module is a pairing module capable of causing and handling L3environments within a contact center system.

FIG. 4 shows a flow diagram of an L3 pairing method 400 according toembodiments of the present disclosure. At block 410, a first contact inqueue may be identified. In L0 and L1 environments, the first contactmay be the only contact waiting in queue.

At block 420, a first available agent may be identified. In L0 and L2environments, the first available agent may be the only available agent.

At this point, a typical contact center may connect the first contactwith the first agent. If the contact center is using a choice-basedpairing strategy such as BP, this connection may be suboptimal, and thechoice-based pairing strategy will operate at low instant performance orefficiency. Instead, at block 430, the L3 pairing method 400 may waitfor a second contact to arrive or a second agent to become available,thereby increasing the amount of choice available to BP or anotherchoice-based pairing strategy. In some situations, this waiting or delaystep may result in a contact center that is operating in an L3environment.

In some embodiments, the L3 pairing method may wait at block 430 for athreshold amount of time, during which more than one contact may arriveor more than one agent may become available. In other embodiments, theL3 pairing method may wait at block 430 for up to a maximum amount oftime, after which it makes a connection regardless of whether or howmuch additional choice was made available to the pairing strategy.

At block 440, a choice of pairing may be made. In embodiments where thesecond contact has arrived, the first available agent may be preferablypaired with a selected one of at least the first and second contacts. Insituations where the second agent has become available, the firstcontact may be preferably paired with a selected one of at least thefirst and second agents. In situations where there are multiple agentsand multiple contacts (L3), a selected one of at least the first andsecond agent may be preferably paired with a selected one of at leastthe first and second contact.

FIG. 5 shows a flow diagram of an L3 pairing method 500 according toembodiments of the present disclosure. L3 pairing method 500 is similarto L3 pairing method 400 (FIG. 4) insofar as it uses a delay mechanismto increase choice. However, whereas pairing method 400 can result in anL3 environment, pairing method 500 compels an L3 environment.

At block 510, a first contact may be identified.

At block 520, a first available agent may be identified.

At block 530, L3 pairing method 500 may wait for a second contact toarrive, and, at block 540, L3 pairing method 500 may wait for a secondagent to arrive, resulting in an L3 environment, in which multipleagents and multiple contacts are available for pairing.

At block 550, in some embodiments, a selected one of at least the firstand second contacts may be paired to a selected one of at least thefirst and second agents. In other embodiments, BP may “batch” pairings,such as by pairing both the first agent with one of the first and secondcontacts, and the second agent with the other of the first and secondcontacts. In this way, BP may make multiple high-performance/efficiencypairings at once without further delay. In some embodiments, the contactcenter system may be able to effect each of these pairings/connectionssimultaneously, or nearly simultaneously, such as by a single batchinstruction from an L3 pairing module. In other embodiments, the L3pairing module may serialize multiple pairing/connection instructions toeffect each of these multiple pairings. The serialized instructions maybe made nearly simultaneously such that there is no delay or onlyminimal delay between routing one connection and the next.

In some embodiments, L3 pairing method 400 described above with respectto FIG. 4 may also be configured to perform batch pairings in situationsin which an L3 environment arises.

It is possible for L3 environments to arise without introducing a delayor postponing selecting/choosing a pairing. For example, two or moreagents may become available simultaneously or nearly simultaneously whenthere are multiple contacts in queue, resulting in a transition from L2to L3. Similarly, two or more contacts may arrive simultaneously ornearly simultaneously, resulting in a transition from L1 to L3. In somecontact center systems, the workforce may be instantaneously increased.For example, if there are many contacts waiting in queue, the contactcenter may modify the pool of logged-in agents to add more than oneagent to the pool. Each of these newly-added agents would be availablesimultaneously or nearly simultaneously, resulting in a transition fromL2 to L3.

FIG. 6 shows a flow diagram of an L3 pairing method 600 according toembodiments of the present disclosure. At block 610, a plurality ofcontacts waiting in queue for assignment may be identified. At block620, a plurality of agents available for assignment to any (or at leastsome) of the plurality of contacts may be identified.

Consequently, the contact center is currently in an L3 environment,regardless of whether it was achieved through a delay technique or othercircumstances that gave rise to L3. At block 630, in some embodiments,one of the plurality of agents may be paired with one of the pluralityof contacts that was not the earliest contact to arrive. In someembodiments, the L3 pairing method 600 may batch-pair multiple agentswith multiple contacts, and in some situations it may be the case thatnone of the preferentially paired contacts was the earliest contact toarrive.

Similarly, in some embodiments, one of the plurality of contacts may bepaired with one of the plurality of agents that was not thelongest-waiting agent (or best-performing agent) that would have beenselected according to a FIFO-based fairness metric (or PBR strategy). Insome embodiments, the L3 pairing method 600 may batch-pair multiplecontacts with multiple agents, and in some situations it may be the casenone of the preferentially paired agents was the longest-waiting agent(or best-performing agent, etc.).

It is possible for an L3 pairing module to perform or otherwise emulatea FIFO or FIFO-like pairing strategy while the contact center system isan L3 state. In these situations, the L3 pairing module may always pair,for example, the longest-waiting contact (or the higher-prioritycontact) at the head of the queue with, for example, the longest-waitingagent, regardless of the other contacts in queue and available agents.In this sense, a FIFO pairing strategy is indifferent to L1 (agentsurplus), L2 (agent shortage), and L3 (multiple agents and multiplecontacts) environments, operating no more or less efficiently as in anL0 state. However, an L3-enabled choice-based pairing strategy such asBP with L3 can operate at higher average performance/efficiency whenL1/L2/L3 states with increased choice are possible.

In some embodiments, an L3 pairing module (e.g., L3 pairing module 140)or a similar module may be capable of making an automated workforcemanagement recommendation or decision within the contact center system.For example, instead of preferentially trying to minimize contact holdtime and agent free time, which causes the contact center to hoveraround L0 or in periods of L1 and L2 with limited amounts of choice, thecontact center system could be advised or instructed to use a certainnumber of agents that is likely to keep the contact center system inhigh-choice environments. In some situations, the recommendation couldbe to staff additional agents (e.g., 10 additional agents, 100additional agents, etc.) to increase the expected amount of time spentin high-choice L1. In other situations, the recommendation could be tostaff fewer agents (e.g., 10 fewer agents, 100 fewer agents, etc.) toincrease the expected amount of time spent in high-choice L2.

In some embodiments, the workforce management instruction orrecommendation may balance the cost of employing additional agents andincreasing agent free time against the benefit of reducing contact waittime, or balancing the cost-savings of employing fewer agents anddecreasing agent free time against the cost of increasing contact waittime. These recommendations may take into account the desired metric tooptimize. For example, if the contact center management desires tooptimize customer satisfaction, it may desirable to make arecommendation that errs on being in high-choice L1 (agent surplus)rather than high-choice L2 (agent shortage). In either case, therecommendation or instruction may balance the cost of increasing agentfree time or increasing contact wait time against the improvedperformance/efficiency of BP or another choice-based pairing strategyoperating in higher-choice L1, L2, or L3 environments, and avoidinginefficient L0 environments in which only a default choice is available.

At this point it should be noted that L3 pairing in a contact centersystem in accordance with the present disclosure as described above mayinvolve the processing of input data and the generation of output datato some extent. This input data processing and output data generationmay be implemented in hardware or software. For example, specificelectronic components may be employed in an L3 pairing module or similaror related circuitry for implementing the functions associated with L3pairing in a contact center system in accordance with the presentdisclosure as described above. Alternatively, one or more processorsoperating in accordance with instructions may implement the functionsassociated with BP in a contact center system in accordance with thepresent disclosure as described above. If such is the case, it is withinthe scope of the present disclosure that such instructions may be storedon one or more non-transitory processor readable storage media (e.g., amagnetic disk or other storage medium), or transmitted to one or moreprocessors via one or more signals embodied in one or more carrierwaves.

The present disclosure is not to be limited in scope by the specificembodiments described herein. Indeed, other various embodiments of andmodifications to the present disclosure, in addition to those describedherein, will be apparent to those of ordinary skill in the art from theforegoing description and accompanying drawings. Thus, such otherembodiments and modifications are intended to fall within the scope ofthe present disclosure. Further, although the present disclosure hasbeen described herein in the context of at least one particularimplementation in at least one particular environment for at least oneparticular purpose, those of ordinary skill in the art will recognizethat its usefulness is not limited thereto and that the presentdisclosure may be beneficially implemented in any number of environmentsfor any number of purposes. Accordingly, the claims set forth belowshould be construed in view of the full breadth and spirit of thepresent disclosure as described herein.

1. A method comprising: determining a contact waiting for connection ina contact center system; determining a plurality of agents comprising afirst set of one or more agents available for connection and a secondset of one or more agents not available for connection; comparing thecontact to at least a first agent of the first set of agents; postponingpairing the contact based on the comparing; after the postponing,determining a second agent of the second set of agents becomes availablefor connection; selecting the second agent for connection to thecontact; and connecting the contact to the second agent.
 2. The methodof claim 1, wherein the second agent has a same or lower priority thanany agent of the set of agents.
 3. The method of claim 1, furthercomprising: comparing the contact to the second agent, wherein theselecting is based on comparing the contact to the second agent.
 4. Themethod of claim 1, wherein the comparing comprises: determining apercentile ranking for the contact; determining a percentile ranking forthe first agent; and determining a difference between the contactpercentile ranking and the first agent percentile ranking.
 5. The methodof claim 1, further comprising: identifying a threshold number of agentsin the second set of agents, wherein the postponing is further based ona threshold number of agents.
 6. The method of claim 5, wherein thethreshold number of agents is based on the comparing.
 7. A systemcomprising: memory; and processing circuitry coupled to the memory,wherein the system is configured to perform a process comprising:determining a contact waiting for connection in a contact center system;determining a plurality of agents comprising a first set of one or moreagents available for connection and a second set of one or more agentsnot available for connection; comparing the contact to at least a firstagent of the first set of agents; postponing pairing the contact basedon the comparing; after the postponing, determining a second agent ofthe second set of agents becomes available for connection; selecting thesecond agent for connection to the contact; and connecting the contactto the second agent.
 8. The system of claim 7, wherein the second agenthas a same or lower priority than any agent of the set of agents.
 9. Thesystem of claim 7, wherein the process further comprises comparing thecontact to the second agent, and the selecting is based on comparing thecontact to the second agent.
 10. The system of claim 7, wherein thecomparing comprises: determining a percentile ranking for the contact;determining a percentile ranking for the first agent; and determining adifference between the contact percentile ranking and the first agentpercentile ranking.
 11. The system of claim 7, wherein the processfurther comprises identifying a threshold number of agents in the secondset of agents, and the postponing is further based on a threshold numberof agents.
 12. The system of claim 11, wherein the threshold number ofagents is based on the comparing.
 13. A computer program productcomprising a non-transitory computer readable medium storinginstructions which when executed by processing circuitry of a systemcauses the system to perform a process that comprises: determining acontact waiting for connection in a contact center system; determining aplurality of agents comprising a first set of one or more agentsavailable for connection and a second set of one or more agents notavailable for connection; comparing the contact to at least a firstagent of the first set of agents; postponing pairing the contact basedon the comparing; after the postponing, determining a second agent ofthe second set of agents becomes available for connection; selecting thesecond agent for connection to the contact; and connecting the contactto the second agent.
 14. The computer program product of claim 13,wherein the second agent has a same or lower priority than any agent ofthe set of agents.
 15. The computer program product of claim 13, whereinthe process further comprises comparing the contact to the second agent,and the selecting is based on comparing the contact to the second agent.16. The computer program product of claim 13, wherein the comparingcomprises: determining a percentile ranking for the contact; determininga percentile ranking for the first agent; and determining a differencebetween the contact percentile ranking and the first agent percentileranking.
 17. The computer program product of claim 13, wherein theprocess further comprises identifying a threshold number of agents inthe second set of agents, and the postponing is further based on athreshold number of agents.
 18. The computer program product of claim17, wherein the threshold number of agents is based on the comparing.19. A method comprising: determining a set of one or more contactswaiting for connection in a contact center system; determining an agentavailable for connection to the contact; comparing the agent to at leastone contact of the set of contacts; postponing pairing the agent basedon the comparing; after the postponing, determining a second contactbecomes available; selecting the second contact for connection to theagent; and connecting the second contact to the agent, wherein thesecond contact was not a member of the set of contacts.
 20. The methodof claim 19, wherein the second contact has a same or lower prioritythan any contact of the set of contacts.
 21. The method of claim 19,further comprising: comparing the contact to the second agent, whereinthe selecting is based on comparing the contact to the second agent. 22.The method of claim 19, wherein the comparing comprises: determining apercentile ranking for the contact; determining a percentile ranking forthe first agent; and determining a difference between the contactpercentile ranking and the first agent percentile ranking.
 23. Themethod of claim 19, further comprising: identifying a threshold numberof agents in the second set of agents, wherein the postponing is furtherbased on a threshold number of agents.
 24. The method of claim 23,wherein the threshold number of agents is based on the comparing.
 25. Asystem comprising: memory; and processing circuitry coupled to thememory, wherein the system is configured to perform a processcomprising: determining a set of one or more contacts waiting forconnection in a contact center system; determining an agent availablefor connection to the contact; comparing the agent to at least onecontact of the set of contacts; postponing pairing the agent based onthe comparing; after the postponing, determining a second contactbecomes available; selecting the second contact for connection to theagent; and connecting the second contact to the agent, wherein thesecond contact was not a member of the set of contacts.
 26. The systemof claim 25, wherein the second contact has a same or lower prioritythan any contact of the set of contacts.
 27. The system of claim 25,wherein the process further comprises comparing the contact to thesecond agent, and the selecting is based on comparing the contact to thesecond agent.
 28. The system of claim 25, wherein the comparingcomprises: determining a percentile ranking for the contact; determininga percentile ranking for the first agent; and determining a differencebetween the contact percentile ranking and the first agent percentileranking.
 29. The system of claim 25, wherein the process furthercomprises identifying a threshold number of agents in the second set ofagents, and the postponing is further based on a threshold number ofagents.
 30. The system of claim 29, wherein the threshold number ofagents is based on the comparing.
 31. A computer program productcomprising a non-transitory computer readable medium storinginstructions which when executed by processing circuitry of a systemcauses the system to perform a process that comprises: determining a setof one or more contacts waiting for connection in a contact centersystem; determining an agent available for connection to the contact;comparing the agent to at least one contact of the set of contacts;postponing pairing the agent based on the comparing; after thepostponing, determining a second contact becomes available; selectingthe second contact for connection to the agent; and connecting thesecond contact to the agent, wherein the second contact was not a memberof the set of contacts.
 32. The computer program product of claim 31,wherein the second contact has a same or lower priority than any contactof the set of contacts.
 33. The computer program product of claim 31,wherein the process further comprises comparing the contact to thesecond agent, and the selecting is based on comparing the contact to thesecond agent.
 34. The computer program product of claim 31, wherein thecomparing comprises: determining a percentile ranking for the contact;determining a percentile ranking for the first agent; and determining adifference between the contact percentile ranking and the first agentpercentile ranking.
 35. The computer program product of claim 31,wherein the process further comprises identifying a threshold number ofagents in the second set of agents, and the postponing is further basedon a threshold number of agents.
 36. The computer program product ofclaim 35, wherein the threshold number of agents is based on thecomparing.
 37. A method comprising: determining a first contact waitingfor connection in a contact center system; determining a plurality ofagents available for connection; comparing the contact to at least afirst agent and a second agent of the plurality of agents; postponingpairing the first contact based on the comparing; after the postponing,determining a second contact becomes available for connection; selectingthe second agent for connection to the second contact; and connectingthe second contact to the second agent.
 38. The method of claim 37,wherein the second agent has a same or lower priority than any agent ofthe plurality of agents.
 39. The method of claim 37, further comprising:comparing the second contact to the second agent, wherein the selectingis based on comparing the second contact to the second agent.
 40. Themethod of claim 37, wherein the comparing comprises: determining apercentile ranking for the contact; determining a percentile ranking forthe first agent; and determining a percentile ranking for the secondagent.
 41. The method of claim 37, further comprising: identifying athreshold number of contacts, wherein the postponing is further based ona threshold number of contacts.
 42. The method of claim 41, wherein thethreshold number of contacts is based on the comparing.
 43. A systemcomprising: memory; and processing circuitry coupled to the memory,wherein the system is configured to perform a process comprising:determining a first contact waiting for connection in a contact centersystem; determining a plurality of agents available for connection;comparing the contact to at least a first agent and a second agent ofthe plurality of agents; postponing pairing the first contact based onthe comparing; after the postponing, determining a second contactbecomes available for connection; selecting the second agent forconnection to the second contact; and connecting the second contact tothe second agent.
 44. The system of claim 43, wherein the second agenthas a same or lower priority than any agent of the plurality of agents.45. The system of claim 43, wherein the process further comprisescomparing the second contact to the second agent, and the selecting isbased on comparing the second contact to the second agent.
 46. Thesystem of claim 43, wherein the comparing comprises: determining apercentile ranking for the contact; determining a percentile ranking forthe first agent; and determining a percentile ranking for the secondagent.
 47. The system of claim 43, wherein the process further comprisesidentifying a threshold number of contacts, and the postponing isfurther based on a threshold number of contacts.
 48. The system of claim47, wherein the threshold number of contacts is based on the comparing.49. A computer program product comprising a non-transitory computerreadable medium storing instructions which when executed by processingcircuitry of a system causes the system to perform a process thatcomprises: determining a first contact waiting for connection in acontact center system; determining a plurality of agents available forconnection; comparing the contact to at least a first agent and a secondagent of the plurality of agents; postponing pairing the first contactbased on the comparing; after the postponing, determining a secondcontact becomes available for connection; selecting the second agent forconnection to the second contact; and connecting the second contact tothe second agent.
 50. The computer program product of claim 49, whereinthe second agent has a same or lower priority than any agent of theplurality of agents.
 51. The computer program product of claim 49,wherein the process further comprises comparing the second contact tothe second agent, and the selecting is based on comparing the secondcontact to the second agent.
 52. The computer program product of claim49, wherein the comparing comprises: determining a percentile rankingfor the contact; determining a percentile ranking for the first agent;and determining a percentile ranking for the second agent.
 53. Thecomputer program product of claim 49, wherein the process furthercomprises identifying a threshold number of contacts, and the postponingis further based on a threshold number of contacts.
 54. The computerprogram product of claim 53, wherein the threshold number of contacts isbased on the comparing.
 55. A method comprising: determining a pluralityof contacts waiting for connection in a contact center system;determining a first agent available for connection; comparing the firstagent to at least a first contact and a second contact of the pluralityof contacts; postponing pairing the first agent based on the comparing;after the postponing, determining a second agent becomes available forconnection; selecting the second agent for connection to the secondcontact; and connecting the second contact to the second agent.
 56. Themethod of claim 55, wherein the second contact has a same or lowerpriority than any contact of the plurality of contacts.
 57. The methodof claim 55, further comprising: comparing the second agent to thesecond contact, wherein the selecting is based on comparing the secondagent to the second contact.
 58. The method of claim 55, wherein thecomparing comprises: determining a percentile ranking for the agent;determining a percentile ranking for the first contact; and determininga percentile ranking for the second contact.
 59. The method of claim 55,further comprising: identifying a threshold number of agents, whereinthe postponing is further based on a threshold number of agents.
 60. Themethod of claim 59, wherein the threshold number of agents is based onthe comparing.
 61. A system comprising: memory; and processing circuitrycoupled to the memory, wherein the system is configured to perform aprocess that comprises: determining a plurality of contacts waiting forconnection in a contact center system; determining a first agentavailable for connection; comparing the first agent to at least a firstcontact and a second contact of the plurality of contacts; postponingpairing the first agent based on the comparing; after the postponing,determining a second agent becomes available for connection; selectingthe second agent for connection to the second contact; and connectingthe second contact to the second agent.
 62. The system of claim 61,wherein the second contact has a same or lower priority than any contactof the plurality of contacts.
 63. The system of claim 61, wherein theprocess further comprises comparing the second agent to the secondcontact, and the selecting is based on comparing the second agent to thesecond contact.
 64. The system of claim 61, wherein the comparingcomprises: determining a percentile ranking for the agent; determining apercentile ranking for the first contact; and determining a percentileranking for the second contact.
 65. The system of claim 61, wherein theprocess further comprises identifying a threshold number of agents, andthe postponing is further based on a threshold number of agents.
 66. Thesystem of claim 65, wherein the threshold number of agents is based onthe comparing.
 67. A computer program product comprising anon-transitory computer readable medium storing instructions which whenexecuted by processing circuitry of a system causes the system toperform a process that comprises: determining a plurality of contactswaiting for connection in a contact center system; determining a firstagent available for connection; comparing the first agent to at least afirst contact and a second contact of the plurality of contacts;postponing pairing the first agent based on the comparing; after thepostponing, determining a second agent becomes available for connection;selecting the second agent for connection to the second contact; andconnecting the second contact to the second agent.
 68. The computerprogram product of claim 67, wherein the second contact has a same orlower priority than any contact of the plurality of contacts.
 69. Thecomputer program product of claim 67, wherein the process furthercomprises comparing the second agent to the second contact, and theselecting is based on comparing the second agent to the second contact.70. The computer program product of claim 67, wherein the comparingcomprises: determining a percentile ranking for the agent; determining apercentile ranking for the first contact; and determining a percentileranking for the second contact.
 71. The computer program product ofclaim 67, wherein the process further comprises identifying a thresholdnumber of agents, and the postponing is further based on a thresholdnumber of agents.
 72. The computer program product of claim 71, whereinthe threshold number of agents is based on the comparing.